// eslint-disable-next-line strict
const Subscription = require('egg').Subscription;
const cron = require('node-cron');


class UpdateCache extends Subscription {
  // 通过 schedule 属性来设置定时任务的执行间隔等配置
  static get schedule() {
    return {
      interval: '10s', // 1 分钟间隔
      type: 'all', // 指定所有的 worker 都需要执行
    };
  }

  // subscribe 是真正定时任务执行时被运行的函数
  async subscribe() {
    for (let i = 0; i < 10; i++) {
      if (!this.app.tasks[i]) {
        // const schedule = new cron.schedule('* * * * * * *', function() {
        //   console.info('log ' + i);
        //   this.ctx.logger.info('log' + i);
        // });
        // schedule.start();
        // this.app.tasks[i] = schedule;
        // this.ctx.logger.info('create task');
      }
    }
  }

  async testTask(name) {
    console.info(name);
  }
}

module.exports = UpdateCache;
